package yang.dao;

import java.io.Serializable;
import java.util.List;
import java.util.Map;
/**
 * 
 * @ClassName: BaseDaoI
 * @Description: 基本dao接口
 * @author: Administrator
 * @date: 2014年7月13日 下午9:37:54
 * @param <T>
 */
public interface BaseDaoI<T> {
	public T save(T o);

	public void delete(T o);

	public void update(T o);

	public void saveOrUpdate(T o);

	public T get(Class<T> c, Serializable id);

	public T get(String hql);

	public T get(String hql, Map<String, Object> params);

	public List<T> find(String hql);

	public List<T> find(String hql, Map<String, Object> params);

	public List<T> find(String hql, int page, int rows);

	public List<T> find(String hql, Map<String, Object> params, int page, int rows);

	public Long count(String hql);

	public Long count(String hql, Map<String, Object> params);

	public int executeHql(String hql);

}